import axios from 'axios'
import Vue from 'vue'
import Router from './router'
const http = axios.create({
  // baseURL: 'http://localhost:3000/admin/api/'
  baseURL: process.env.VUE_APP_URL || '/admin/api'
})

// 请求拦截器
http.interceptors.request.use(config => {
  if (localStorage.getItem('token')) {
    config.headers.Authorization = 'Bearer ' + (localStorage.getItem('token') || '')
  }
  // console.log(localStorage.token)
  // console.log('config', config)
  return config
}, err => {
  // 请求未成功发出，如：没有网络...
  return Promise.reject(err)
})

// 响应拦截
http.interceptors.response.use((response) => {
  // 任何在2xx范围内的状态代码都会触发此功能
  return response
}, (error) => {
  // 任何超出2xx范围的状态代码都会触发此功能
  console.log(error)
  if (error.response.data.message) {
    Vue.prototype.$message({
      type: 'error',
      message: error.response.data.message
    })
  }
  // 如果没有登录就强制跳转到登录页
  if (error.response.status === 401) {
    Router.push('/login')
  }
  return Promise.reject(error)
})

export default http
